<html>
    <head>
        <title>main.js / main.uts</title>
    </head>
    <body>
        <script>
            // main.js

                    /*
                       一、概述

                                    main.js  是 uni-app 的入口文件。

                                    uni-app js 引擎版是 main.js  ，而uni-app x则是main.uts。以下一般用main.js泛指全部。

                                    main.js主要作用是 "初始化vue实例"、"定义全局组件"、"使用需要的插件" 如 i18n、vuex。

                                    首先引入了Vue 库和 App.vue ，创建了一个 vue 实例，并且挂在 vue实例：

                                    eg：

                                        import Vue from 'vue'
                                        import App from './App'
                                        import PageHead from './components/page-head.vue'  // 全局引用  page-head 组件

                                        Vue.config.productiuonTip = false;

                                        Vue.component('page-head',PageHead)  // 全局注册 page-head 组件，每个页面将可以直接使用该组件

                                        App.mpType = 'app'

                                        const app = new Vue({
                                            ...App
                                        })

                                        app.$mount()  // 挂载 Vue 实例

                                        
                                    一般情况下，使用 easycom 比全局组件更常用，easycom 按需应用更节省资源。
                    */

                    /*
                        二、代码时序

                                开发者写代码，在应用启动时，按如下时序加载：

                                     1、main.js /uts 的  export function createApp() {} 外的代码、任何页面/组件的script中export default {}外的代码

                                     2、main.js /uts 的  export function createApp() {} 中的代码

                                     3、app.vue 中 onLaunch 的代码

                                     4、首页的 onLoad 

                                     5、首页的 onReady

                                开发者需谨慎在 main.js 、页面/组件 script 中 export default{} 外、和 onLaunch 中编写代码：

                                     1、这些代码都会影响启动速度 ()

                                     2、执行太早，很多功能和API无法使用，需要 trycatch .尤其是与界面相关的都无法使用，此时首页都还没有创建。

                                     3、main.js 、页面script 中 export default{ } 外的代码，其创建的变量在应用存活时一直占据着内存，不会跟随页面关闭而回收。
                    */

                    /*
                        三、插件

                                使用 Vue.use 引用插件，使用 Vue.prototype 添加全局变量，使用 Vue.component 注册全局组件。

                                可以引用 vuex, 因设计多个文件，此处没有提供示例，详见 "hello uni-app" 示例工程

                                无法使用 vue-router,路由必须子啊 page.json 中进行配置。如果开发者坚持使用过 vue-router ,可以在插件市场找到转换插件。


                                ★、注意：

                                        nvue 暂不支持在 main.js 中注册全局组件、

                                        uni-app x 暂不支持 i18n、vuex、pinia等插件
                    */
        </script>
    </body>
</html>